package com.webchat.chat.model;

import com.webchat.chat.core.enums.SocketClientType;
import com.webchat.chat.core.enums.SocketRoomStatus;
import com.webchat.chat.core.tools.BaseModel;

import javax.persistence.Column;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

@Table(name = "socket_room")
public class SocketRoom extends BaseModel implements Serializable {

    /**
     * 房间ID
     */
    @Column(name = "ROOM_ID")
    private String roomId;
    /**
     * 房间内客户名字(房间主人名字)
     */
    @Column(name = "CUSTOMER_NAME")
    private String customerName;

    /**
     * 房间主人Id
     */
    @Column(name = "CUSTOMER_ID")
    private String customerId;


    /**
     * 房间类型
     */
    @Column(name = "TYPE")
    private SocketClientType type;

    @Column(name = "TENANT_CODE")
    private String tenantCode;

    /**
     * 房间状态
     */
    @Column(name = "STATUS")
    private SocketRoomStatus status;

    /**
     * 进入时间
     */
    @Column(name = "JOIN_TIME")
    private Date joinTime;

    /**
     * 持续时间
     */
    @Column(name = "DURATION")
    private String duration;

    public String getRoomId() {
        return roomId;
    }

    public void setRoomId(String roomId) {
        this.roomId = roomId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    /**
     * 获取房间类型
     *
     * @return TYPE - 房间类型
     */
    public SocketClientType getType() {
        return type;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    /**
     * 设置房间类型
     *
     * @param type 房间类型
     */
    public void setType(SocketClientType type) {
        this.type = type;
    }

    /**
     * @return TENANT_CODE
     */
    public String getTenantCode() {
        return tenantCode;
    }

    /**
     * @param tenantCode
     */
    public void setTenantCode(String tenantCode) {
        this.tenantCode = tenantCode;
    }

    /**
     * 获取房间状态
     *
     * @return STATUS - 房间状态
     */
    public SocketRoomStatus getStatus() {
        return status;
    }

    /**
     * 设置房间状态
     *
     * @param status 房间状态
     */
    public void setStatus(SocketRoomStatus status) {
        this.status = status;
    }

    /**
     * 获取进入时间
     *
     * @return JOIN_TIME - 进入时间
     */
    public Date getJoinTime() {
        return joinTime;
    }

    /**
     * 设置进入时间
     *
     * @param joinTime 进入时间
     */
    public void setJoinTime(Date joinTime) {
        this.joinTime = joinTime;
    }

    /**
     * 获取持续时间
     *
     * @return DURATION - 持续时间
     */
    public String getDuration() {
        return duration;
    }

    /**
     * 设置持续时间
     *
     * @param duration 持续时间
     */
    public void setDuration(String duration) {
        this.duration = duration;
    }
}